package com.wanmait.teatrain.utils;

//如果项目很大，可以使用6位的业务代码，前面加上系统编号（1=用户系统，2=订单系统，3=产品系统...）
//140001表示用户系统的代码
public enum BusinessCode {
    SUCCESS(200, "操作成功"),
    //预留一个通用错误码，用于无法归类的客户端错误
    CLIENT_ERROR(40000, "请求参数错误"),

    USER_USERNAME_PASSWORD_REQUIRED(40001, "用户名和密码不能为空"),
    USER_LOGIN_CREDENTIALS_ERROR(40002, "用户名或密码错误"),
    USER_NOT_FOUND(40003, "用户不存在"), //这里存在安全风险，当用户不存在时，统一返回用户名或者密码错误

    CAPTCHA_EXPIRED(40010, "验证码已过期"),
    CAPTCHA_INCORRECT(40011, "验证码不正确"),

    TOKEN_INVALID(40101, "无效的 token"),
    TOKEN_EXPIRED(40102, "token 已过期"),
    TOKEN_NOT_FOUND(40103, "未提供 token"),

    FILE_EMPTY(40020, "未选择文件"),
    FILE_SIZE_EXCEEDED(40021, "文件大小超出限制"),

    INVALID_USER_USERNAME(40031,"用户名不合法"),
    INVALID_USER_PASSWORD(40032,"密码不合法"),
    INVALID_USER_NAME(40033,"姓名不合法"),


    SERVER_ERROR(50000, "服务器内部错误");
    private final int code;
    private final String msg;

    BusinessCode(int code, String msg) {
        this.code = code;
        this.msg = msg;
    }

    public int getCode() { return code; }
    public String getMsg() { return msg; }
}